如果你使用 GlassFish 应用服务,那么你不需要打包任何东西,所有的一切都已经包含了。你只需要声明依赖使JAX-RS API可以编入到你的应用。
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
<scope>provided</scope>
</dependency>
如果你使用特定的功能,那么直接取决于你依赖的Jersey
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.16</version>
<scope>provided</scope>
</dependency>
<!-- 如果你只使用 Jersey 客户端具体功能而不包含服务端的 -->
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.16</version>
<scope>provided</scope>
</dependency>
以下依赖应用服务器(servlet容器)没有任何集成的JAX-RS实现。然后应用需要包括JAX-RS API和 Jersey 部署应用程序的实现。
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<!-- 如果容器支持低于Servlet API 3.0,请使用"jersey-container-servlet-core" -->
<artifactId>jersey-container-servlet</artifactId>
<version>2.16</version>
</dependency>
<!-- 仅使用 JAX-RS Client 时添加 -->
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.16</version>
</dependency>
在 JDK 是否使用 JAX-RS 中客户端的规范完全取决于客户。有各种不同的附加模块可以被添加,例如像 grizzly 或 Apache 或 jetty等连接器(见下面依赖)。Jersey 客户端 在 JDK 默认运行(HttpUrlConnection)。更多的细节见 Chapter 5, Client API。
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.16</version>
</dependency>
目前可用的连接器:
<dependency>
<groupId>org.glassfish.jersey.connectors</groupId>
<artifactId>jersey-grizzly-connector</artifactId>
<version>2.16</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.connectors</groupId>
<artifactId>jersey-apache-connector</artifactId>
<version>2.16</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.connectors</groupId>
<artifactId>jersey-jetty-connector</artifactId>
<version>2.16</version>
</dependency>
除了标准的 JAX-RS 基于 Servlet 的部署(Servlet 2.5及以上版本),Jersey 对下面容器提供可编程的部署环境:Grizzly 2(HTTP 和Servlet),JDK HTTP服务器,简单的HTTP服务器,Jetty HTTP 服务器。本章介绍只需要 maven 依赖,更多的内容见Chapter 4. Application Deployment and Runtime Environments 应用部署和运行时环境
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-grizzly2-http</artifactId>
<version>2.16</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-grizzly2-servlet</artifactId>
<version>2.16</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-jdk-http</artifactId>
<version>2.16</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-simple-http</artifactId>
<version>2.16</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-jetty-http</artifactId>
<version>2.16</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-jetty-servlet</artifactId>
<version>2.16</version>
</dependency>